package co.edu.usbcali.unidad.modelo.dto;

import co.edu.usbcali.unidad.modelo.Factura;
import co.edu.usbcali.unidad.presentation.backEndBeans.FacturaView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;

/**
 * 
 * 
 * @author Zathura Code Generator http://code.google.com/p/zathura
 * 
 */
public class FacturaDTO implements Serializable {
	private static final long serialVersionUID = 1L;
	private String cueCodCuenta_Cuenta;
	private String estCodigo_Estado;
	private String priCodigo_PropietarioInmueble;
	private String facCodigo;
	private Date facFecha;
	private boolean rowSelected = false;
	private FacturaView facturaView;
	private Factura factura;

	public Factura getFactura() {
		return factura;
	}

	public String listener_update(ActionEvent e) {
		try {
			facturaView
					.action_modifyWitDTO(
							((facCodigo == null) || facCodigo.equals("")) ? null
									: new String(facCodigo),
							((facFecha == null) || facFecha.equals("")) ? null
									: facFecha,
							((cueCodCuenta_Cuenta == null) || cueCodCuenta_Cuenta
									.equals("")) ? null : new String(
									cueCodCuenta_Cuenta),
							((estCodigo_Estado == null) || estCodigo_Estado
									.equals("")) ? null : new String(
									estCodigo_Estado),
							((priCodigo_PropietarioInmueble == null) || priCodigo_PropietarioInmueble
									.equals("")) ? null : new String(
									priCodigo_PropietarioInmueble));
			rowSelected = !rowSelected;
		} catch (Exception ex) {
			return "";
		}

		return "";
	}

	public void listener_cancel(ActionEvent e) {
		facCodigo = factura.getFacCodigo().toString();
		facFecha = factura.getFacFecha();
		cueCodCuenta_Cuenta = (factura.getCuenta().getCueCodCuenta() != null) ? factura
				.getCuenta().getCueCodCuenta().toString()
				: null;
		estCodigo_Estado = (factura.getEstado().getEstCodigo() != null) ? factura
				.getEstado().getEstCodigo().toString()
				: null;
		priCodigo_PropietarioInmueble = (factura.getPropietarioInmueble()
				.getPriCodigo() != null) ? factura.getPropietarioInmueble()
				.getPriCodigo().toString() : null;
		rowSelected = !rowSelected;
	}

	/**
	 * <p>
	 * Bound to commandLink actionListener in the ui that renders/unrenders the
	 * Customer details for editing.
	 * </p>
	 */
	public void toggleSelected(ActionEvent e) {
		facCodigo = factura.getFacCodigo().toString();
		facFecha = factura.getFacFecha();
		cueCodCuenta_Cuenta = (factura.getCuenta().getCueCodCuenta() != null) ? factura
				.getCuenta().getCueCodCuenta().toString()
				: null;
		estCodigo_Estado = (factura.getEstado().getEstCodigo() != null) ? factura
				.getEstado().getEstCodigo().toString()
				: null;
		priCodigo_PropietarioInmueble = (factura.getPropietarioInmueble()
				.getPriCodigo() != null) ? factura.getPropietarioInmueble()
				.getPriCodigo().toString() : null;
		rowSelected = !rowSelected;
	}

	public void setFactura(Factura factura) {
		this.factura = factura;
	}

	public FacturaView getFacturaView() {
		return facturaView;
	}

	public void setFacturaView(FacturaView facturaView) {
		this.facturaView = facturaView;
	}

	public String getCueCodCuenta_Cuenta() {
		return cueCodCuenta_Cuenta;
	}

	public void setCueCodCuenta_Cuenta(String cueCodCuenta_Cuenta) {
		this.cueCodCuenta_Cuenta = cueCodCuenta_Cuenta;
	}

	public String getEstCodigo_Estado() {
		return estCodigo_Estado;
	}

	public void setEstCodigo_Estado(String estCodigo_Estado) {
		this.estCodigo_Estado = estCodigo_Estado;
	}

	public String getPriCodigo_PropietarioInmueble() {
		return priCodigo_PropietarioInmueble;
	}

	public void setPriCodigo_PropietarioInmueble(
			String priCodigo_PropietarioInmueble) {
		this.priCodigo_PropietarioInmueble = priCodigo_PropietarioInmueble;
	}

	public Date getFacFecha() {
		return facFecha;
	}

	public void setFacFecha(Date facFecha) {
		this.facFecha = facFecha;
	}

	public String getFacCodigo() {
		return facCodigo;
	}

	public void setFacCodigo(String facCodigo) {
		this.facCodigo = facCodigo;
	}

	public boolean isRowSelected() {
		return rowSelected;
	}

	public void setRowSelected(boolean rowSelected) {
		this.rowSelected = rowSelected;
	}
}
